医科REテーブル
(amiIkaRe <- read.csv("data/AMI/IKA/RE.csv", header = TRUE))
診療年月ごとの件数
summary(factor(amiIkaRe$診療年月))
## 42804 42805 42806 42807 42808 42809 42810 42811 42901 42902 42903 42904
## 17 34 51 46 55 48 41 57 50 47 60 29
## 42905 42912
## 17 46
医科SIテーブルを読み込み
(amiIkaSi <- read.csv("data/AMI/IKA/SI.csv", header = TRUE))
H28診療行為マスターを支払基金ウェブサイトからダウンロード
library(rvest)
## Warning: package 'rvest' was built under R version 3.5.2
## Loading required package: xml2
htmlH28Proc <- read_html("https://www.ssk.or.jp/seikyushiharai/tensuhyo/kihonmasta/h28/kihonmasta_01.html")
htmlH28Proc
## {xml_document}
## <html lang="ja" xml:lang="ja" xmlns="http://www.w3.org/1999/xhtml">
## [1] <head>\n<meta http-equiv="content-type" content="text/html; charset= ...
## [2] <body id="base">\n\n<!-- scs_jyogai_start -->\n<noscript>\n<p class= ...
library(magrittr)
library(tidyverse)
## ─ Attaching packages ─────────────────────────────────────────────── tidyverse 1.2.1 ─
## ✔ ggplot2 3.0.0 ✔ purrr 0.2.5
## ✔ tibble 1.4.2 ✔ dplyr 0.7.6
## ✔ tidyr 0.8.1 ✔ stringr 1.3.1
## ✔ readr 1.1.1 ✔ forcats 0.3.0
## ─ Conflicts ───────────────────────────────────────────────── tidyverse_conflicts() ─
## ✖ tidyr::extract() masks magrittr::extract()
## ✖ dplyr::filter() masks stats::filter()
## ✖ readr::guess_encoding() masks rvest::guess_encoding()
## ✖ dplyr::lag() masks stats::lag()
## ✖ purrr::pluck() masks rvest::pluck()
## ✖ purrr::set_names() masks magrittr::set_names()
allURL <- htmlH28Proc %>%
html_nodes(css = "a[href *= 's_ALL']") %>%
html_attr("href") %>%
str_c("https://www.ssk.or.jp/seikyushiharai/tensuhyo/kihonmasta/h28/", .)
fileName <- htmlH28Proc %>%
html_nodes(css = "a[href *= 's_ALL']") %>%
html_attr("href") %>%
str_split(., pattern = "/") %>%
extract2(1) %>%
extract2(2) %>%
str_replace(.,"zip", "csv")
temp <- tempfile()
download.file(allURL, temp, mode="wb")
unzip(temp, fileName)
allDataProcH28 <- read.csv(fileName, header = FALSE, fileEncoding = "sjis")
allDataProcH28
診療行為別ID1数
# install.packages("tidyverse")
library(tidyverse)
amiIkaRe %>%
filter(診療年月==42808) %>%
left_join(amiIkaSi, by = "レセプト通番") %>%
group_by(診療行為コード) %>%
summarise(n=n_distinct(ID1)) %>%
inner_join(allDataProcH28 %>% mutate(診療行為コード=V3, 診療行為名=V5), by = "診療行為コード") %>%
select(診療行為コード, 診療行為名, n)